const _ = require('lodash')
const {
  // Banner位置
  BANNER_POSITION_HOME_BANNER,
  BANNER_POSITION_HOME_ACTIVITY,

  /**
   * 业务类型
   */
  BIZ_TYPE_MALL,
  BIZ_TYPE_VOD,

  /**
   * 系统类型
   */
  SYSTEM_TYPE_ADMIN,
  SYSTEM_TYPE_COMPANY,
  SYSTEM_TYPE_PROJECT,
  SYSTEM_TYPE_STORE,
  SYSTEM_TYPE_FX_MH,
} = require('./constant')

/**
 * 字典
 */
const dict = {
  // Banner位置
  bannerPosition: {
    首页横幅: BANNER_POSITION_HOME_BANNER,
    首页活动: BANNER_POSITION_HOME_ACTIVITY,
  },

  // 系统类型
  systemType: {
    平台系统: SYSTEM_TYPE_ADMIN,
    商家系统: SYSTEM_TYPE_STORE,
    经销商端: SYSTEM_TYPE_FX_MH,
  },

  // 业务类型
  bizType: {
    商城: BIZ_TYPE_MALL,
  },
}

// 给所有属性增加Values
Object.keys(dict).forEach((key) => {
  const valuesKey = _.camelCase(`${key}Values`)

  // 通过value获取label
  const labels = {}
  const obj = dict[key]
  for (const key in obj) {
    labels[obj[key]] = key
  }
  dict[valuesKey] = labels

  // 代理(未完成)
  // dict[key] = new Proxy(dict[key], {
  //   get: function (obj, prop) {
  //     if (prop == 'values') {
  //       return { a: '1' }
  //     }
  //     return obj[prop]
  //   },
  // })
})

module.exports = dict
